package give.my.money.back;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;


import android.app.Activity;
import android.app.AlertDialog;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.res.Resources;
import android.net.Uri;
import android.os.Bundle;
import android.os.Environment;
import android.preference.PreferenceManager;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup.LayoutParams;
import android.widget.Button;
import android.widget.TabHost;
import android.widget.TextView;
import android.widget.Toast;

public class MisPreferencias_resultados extends Activity {
	
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.preferencias);
		
		muestra_preferencias();	
		
		Button recargar = (Button)findViewById(R.id.button_recargar_preferencias);
		Button leer_fichero = (Button)findViewById(R.id.button_ver_memoria_interna);
	        
		 recargar.setOnClickListener(new OnClickListener(){
	        	public void onClick(View v) {
	        		muestra_preferencias();
	        	} 
	       });	  
		 
		 leer_fichero.setOnClickListener(new OnClickListener(){
	        	public void onClick(View v) {
	        		ver_fichero();
	        	} 
	       });
	}
		
	
	 private void muestra_preferencias() {	
		 SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this);
			String strValor = preferences.getString("campoText", "");
			boolean blCheck = preferences.getBoolean("claveCheck", false);
			String strLista = preferences.getString("listaPreferencia", "");
			TextView txtView = (TextView) findViewById(R.id.preferencias_resultados);
			txtView.setText("Dato: " + strValor + "\n" +
							"Activado: " + blCheck + "\n" +
							"Preferencias: " + strLista);
	 }
		 
  private void ver_fichero() {	
        try {
			escribirEnFichero_externa();
			escribirEnFichero();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
        try {
			readExternal();
			readFichero();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}       	
	}
	
	  
    private void escribirEnFichero() {	
		String contenido = "Hi world leyendo datos desde memoria interna";
		try{
			java.io.FileOutputStream fos = openFileOutput("fichero.txt", this.MODE_PRIVATE);
			fos.write(contenido.getBytes());
			fos.close();
		}
	catch (java.io.IOException e){
			Log.e("pruebas","error manipuladondo el fichero, e");
		}
	}
    
    //EXTERNSA  SD
    private void escribirEnFichero_externa() throws IOException {	
		String contenidos = "Hi world leyendo datos desde memoria externa";
		String estado=Environment.getExternalStorageState();
		if (estado.equals(Environment.MEDIA_MOUNTED)){
			File file = new File(getExternalFilesDir(null), "fichero_ex.txt");
			FileWriter writer = new FileWriter(file);
			writer.write(contenidos);
			writer.close();
		}
    }
		
	
	private void readFichero() throws IOException{	
		String content = "";
		String line = "";
		InputStream in = null;
		try{
			in = openFileInput("fichero.txt");
			InputStreamReader input = new InputStreamReader (in);
			BufferedReader buffreader = new BufferedReader (input);
			content="";
			while((line=buffreader.readLine()) != null){
				content += line;
			}
		}
		catch (IOException e){
			Log.e("pruebas","error al leer el fichero, e");
			throw e;
		}finally{in.close();}
		
		AlertDialog.Builder diag = new AlertDialog.Builder(this);
		diag.setTitle("Contenido del fichero");
		TextView txtView = new TextView(this);
		txtView.setText(content);
		LayoutParams lParams = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
		txtView.setLayoutParams(lParams);
		diag.setView(txtView);
		diag.setPositiveButton("aceptar", null);
		diag.show();
	}
	
	
    //EXTERNSA  SD
    private void readExternal() throws IOException {	
		String contenidos = "";
		String estado=Environment.getExternalStorageState();
		if (estado.equals(Environment.MEDIA_MOUNTED)){
			File file = new File(getExternalFilesDir(null), "fichero_ex.txt");
			FileReader reader = new FileReader(file);
			int ch;
			do{
				ch = reader.read();
				if(ch!=-1)contenidos += (char) ch;
			} while(ch!=-1);
			reader.close();
			Toast.makeText(this, contenidos, Toast.LENGTH_SHORT).show();
		}
    }
    
	/*public  void viewPreferences(){
		SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this);
		String strValor = preferences.getString("campoText", "");
		boolean blCheck = preferences.getBoolean("claveCheck", false);
		String strLista = preferences.getString("listaPreferencias1", "");
		TextView txtView = (TextView) findViewById(R.id.preferencias_resultados);
		txtView.setText("campoText: " + strValor +
						"claveCheck: " + blCheck +
						"listaPreferencias1: " + strLista);
	}*/
	
	
	
	
	
}
